module post_processor (
    input  wire        clk,
    input  wire        rst_n,
    input  wire [23:0] beamformed_input,
    input  wire        input_vld,
    
    // 后处理参数
    input  wire [7:0]  gain_control,      // 增益控制
    input  wire        noise_reduction_en, // 降噪使能
    input  wire [3:0]  eq_bands [7:0],    // 均衡器设置
    
    output wire [23:0] processed_output,
    output wire        output_vld,
    output wire [11:0] output_level       // 输出电平监测
);

dynamic_range_compressor u_compressor (
    .clk(clk),
    .rst_n(rst_n),
    .input_data(beamformed_input),
    .input_vld(input_vld),
    .gain_control(gain_control),
    .compressed_output(compressed_out),
    .output_vld(compressed_vld)
);

adaptive_filter u_filter (
    .clk(clk),
    .rst_n(rst_n),
    .input_data(compressed_out),
    .input_vld(compressed_vld),
    .noise_reduction_en(noise_reduction_en),
    .filtered_output(filtered_out),
    .output_vld(filtered_vld)
);

equalizer u_eq (
    .clk(clk),
    .rst_n(rst_n),
    .input_data(filtered_out),
    .input_vld(filtered_vld),
    .eq_bands(eq_bands),
    .equalized_output(processed_output),
    .output_vld(output_vld)
);

endmodule